Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

vb.net: locked file?

Îåêßíçóå áðü ôï ìÝëïò NGF. Τελευταία δημοσίευση από το μέλος NGF στις 13-01-2007, 10:41. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-01-2007, 00:31 23049

    vb.net: locked file?

    Γεια σας, πως γινεται να ξερω αν ενα αρχειο ειναι κλειδωμενο απο τα windows δηλαδη δεν μπορω να το ανοιξω εγω για παρω δεδομενα κτλ?

    Burning The Fire........
  •  05-01-2007, 00:44 23050 σε απάντηση της 23049

    Απ: vb.net: locked file?

    Δεν νομίζω ότι μπορείς αν δεν δοκιμάσεις να το ανοίξεις.

    Οπότε θα πρέπει να το ανοίξεις και να χειριστείς το exception που δημιουργείται αν το αρχείο είναι κλειδωμένο ή αν δεν έχεις πρόσβαση στο αρχείο ή αν το αρχείο δεν υπάρχει κλπ.
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  05-01-2007, 10:26 23058 σε απάντηση της 23050

    Απ: vb.net: locked file?

    Το δοκιμασα αυτο ηδη και οντως χειριζομαι το exception και ξερω οτι το αρχειο ειναι κλειδωμενο. Το προβλημα ειναι αλλου ομως. Προκειται για την προσπαθεια antivirus που εχω πει σε αλλο thread. Εχω ενα class που εχω γραψει εγω. Μεσα σε αυτο υπαρχει το sub ScanFilenameThreat που δεχεται δυο παραμετρους : α)Αρχειο για σκαναρισμα β)αρχειο με definition (αρχειο txt προς το παρον) δηλαδη ετσι

    ScanFilenameThreat(ByVal FilePath As String, ByVal SignatureFile As String)

    Το class ενημερωνει την μεταβλητη fileinfected σε true αν υπαρχει ιος ενω σε false αν οχι. Η μεταβλητη ειναι ορατη απο καθε κομματι του κωδικα μεσα στο Project

    Τωρα για να κανω το antivirus να σκαναρει realtime εβαλα ενα Filesystemwatcher που το ονομασα FSW και ελεγχει το C:\ με Notifyfilter "LastAccess". Τωρα το προβλημα βρισκεται στο

    Private Sub FSW_Changed οπου εκτελειται ο κωδικας οταν παει να ανοιχτει ενα αρχειο.

    Βεβαια εκτελειται ο κωδικας αλλα ανοιγει και το αρχειο πραγμα το οποιο πρεπει να αλλαξει και πρωτα με καποιο τροπο να κλειδωσει το αρχειο που παει να ανοιγει να σκαναρεται και μετα αναλογα τι ειναι να μενει κλειστο η να ανοιγει αλλα αυτο ειναι αλλη κουβεντα για το οποιο παλι χρειαζομαι λυση. Τεσπα στο θεμα. Ο κωδικας ειναι αυτος :

    Private Sub FSW_Changed(ByVal sender As System.Object, ByVal e As System.IO.FileSystemEventArgs) Handles FSW.Changed

    'FileOpen(1, e.FullPath, OpenMode.Input)

    'FileClose(1)

    'msgBox(e.FullPath)

    Try

    Dim Scanner As New GScanner3

    Scanner.ScanFilenameThreat(e.FullPath, "C:\Threats.txt")

    If FileInfected = True Then

    ' If (Scanner.ScanFilenameThreat(e.FullPath, "C:\Threats.txt")) = True Then

    MsgBox("virus detected")

    End If

    Catch

    'MsgBox("problem")

    Exit Sub

    End Try

    'Scanner = Nothing

    End Sub

    Τωρα επειδη πεφτει συνεχεια σε αρχεια που χειριζονται τα windows δεν πεταει exception αλλα το προγραμμα συνεχιζει να λειτουργει. Οταν ομως παω και ανοιξω προγραμμα το οποιο εχω καθορισει και καλα για ιο τοτε δεν κανει τιποτα ενω σε ενα αλλο δοκιμαστικο κουμπι που εχω βαλει και ο κωδικας του κουμπιου ειναι αυτος :

    Dim S As New GScanner3

    S.ScanFilenameThreat("C:\skins.txt", "C:\Threats.txt")

    If FileInfected = True Then

    MsgBox("virus found")

    End If

    δουλευει αψογα ο κωδικας και αν το αρχειο που το εχω βαλει να σκαναρει περιεχεται στα definitions τοτε χρυπα μηνυμα αλλιως οχι.

    Αυτο ειναι λοιπον ειναι το προβλημα και ειπα μηπως φταιει ο τροπος που το εχω βαλει να καταλαβαινει οτι ειναι κλειδωμενο το αρχειο και να βγαινει γιατι αλλιως βαραει ενα σφαλμα δεν θυμαμαι ακριβως αλλα περιεχει τη λεξη invocation. Εψαχνα για αλλο τροπο να τσεκαρω αν καποιο αρχειο ειναι κλειδωμενο για ανοιγμα. Τωρα αν εχετε καποια λυση παρακαλω βοηθηστε με. Η class που σκαναρει δουλευει τελεια την εχω ελεγξει αλλα αν την χρειαζεστε βγαζω και εκεινο τον κωδικα.

    thanks!
    Burning The Fire........
  •  13-01-2007, 10:41 23434 σε απάντηση της 23049

    Απ: vb.net: locked file?

    Καμια λυση???
    Burning The Fire........
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems